<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
    <ui:define name="title">Generar Reporte Cuenta por Cobrar</ui:define>
    <ui:define name="content">
        <p:spacer height="5px"/>
        <p:panel>
            <h:outputText value="Generar Reporte Cuenta por Cobrar" styleClass="text_header_page"/>
        </p:panel>
        <p:spacer height="5px"/>
        <h:panelGroup>
            <ui:decorate template="/pages/ui/uiCheckPoint.xhtml">
                <ui:param name="jsfBean" value="#{reporteCuentaCobrarJsfBean}"/>
                <ui:param name="verEditarCheckPoint" value="true"/>
                <ui:param name="verFechaCorte" value="true"/>
                <ui:param name="verDocumentos" value="false"/>
            </ui:decorate>
            <h:form id="frmReporte">
            <p:outputPanel id="pnlUsuario" rendered="#{not reporteCuentaCobrarJsfBean.administrador}">
            <p:panel header="Criterios de Búsqueda" >
            <p:panelGrid>
                <p:row>
                    <p:column>
                        <p:outputLabel for="cmbGrupoEmpresarial" value="Grupo Empresarial"/>
                    </p:column>
                    <p:column>
                        <p:selectOneMenu id="cmbGrupoEmpresarial" converter="#{managerGrupoDTOConverter}"
                                         required="true" requiredMessage="*"
                                         value="#{reporteCuentaCobrarJsfBean.reporteContext.grupoEmpresarial}"
                                         style="width:180px;">
                            <f:selectItem itemLabel="Seleccione" itemValue="" noSelectionOption="true"/>
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbGrupoEmpresarial}"
                                           var="grupoSelect"
                                           itemLabel="#{grupoSelect.nombre}"
                                           itemValue="#{grupoSelect}"/>
                            <p:ajax event="change" update=":frmReporte:cmbSociedades :messages" process="@this"
                                    listener="#{reporteCuentaCobrarJsfBean.onSelectGrupoEmpresarial}"/>
                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbGrupoEmpresarial" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbSociedades" value="Sociedad"/>
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbSociedades" label="Sociedades" filter="true"
                                              converter="#{managerSociedadDTOConverter}" required="true"
                                              requiredMessage="*"
                                              value="#{reporteCuentaCobrarJsfBean.reporteContext.sociedadList}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:220px"
                                >
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbSociedad}" var="sociedadItem"
                                           itemLabel="#{sociedadItem.nombre}"
                                           itemValue="#{sociedadItem}"/>
                            <p:column>

                            </p:column>
                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbSociedades" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbAgrupacion" value="Seleccione las agrupaciones"
                                />
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbAgrupacion" label="Agrupaciones" filter="true"
                                              converter="#{managerAgrupacionDTOConverter}" required="true"
                                              requiredMessage="*"
                                              value="#{reporteCuentaCobrarJsfBean.reporteContext.agrupacionList}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:220px"
                                >
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbAgrupacion}" var="agrupacionItem"
                                           itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbAgrupacion" display="text"/>
                    </p:column>

                </p:row>
                <p:row>
                    <p:column>
                        <p:outputLabel for="checkpointList" value="CheckPoint"/>
                    </p:column>
                    <p:column >
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem" id="checkpointList"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPoint}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkpointList" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbTipoImporte" value="Importe"/>
                    </p:column>
                    <p:column colspan="1">
                        <p:selectOneMenu
                                id="cmbTipoImporte"  required="true" requiredMessage="*"
                                value="#{reporteCuentaPagarJsfBean.reporteContext.tipoMonto}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItem itemLabel="Importe Moneda Local" itemValue="0"/>
                            <f:selectItem itemLabel="Importe Valorado" itemValue="1"/>
                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="cmbTipoImporte" display="text"/>
                    </p:column>
                    <p:column>
                        <p:outputLabel for="cmbReporte" value="Reportes"/>
                    </p:column>
                    <p:column>
                        <p:selectCheckboxMenu id="cmbReporte" label="Reportes" filter="true"
                                              value="#{reporteCuentaCobrarJsfBean.reporteContext.reporteCobrarList}"
                                              converter="#{managerTipoReporteCxCConverter}"
                                              filterText="Filter" filterMatchMode="startsWith"
                                              panelStyle="width:320px"
                                >
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.allTipoReporteCuentaPorCobrar}"
                                           var="reporteItem"
                                           itemLabel="#{reporteItem.nombre}" itemValue="#{reporteItem}"/>

                        </p:selectCheckboxMenu>
                    </p:column>

                    <p:column>
                        <p:message for="cmbReporte" display="text"/>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="1">
                    </p:column>
                    <p:column>
                        <h:outputText value="Reporte Comparativo: " />

                        <p:selectBooleanCheckbox label="Reporte Comparativo: " value="#{reporteCuentaCobrarJsfBean.reporteContext.comparativo}">
                        </p:selectBooleanCheckbox>

                    </p:column>
                    <p:column>
                        <p:message for="checkPointInicio" display="text"/>
                    </p:column>
                    <p:column colspan="2">

                        <p:selectOneMenu id="checkPointInicio" panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPointBase}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkPointInicio" display="text"/>
                    </p:column>
                    <p:column colspan="2">
                        <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                         var="checkPointItem"  id="checkPointFin"
                                         converter="#{checkPointDTOConverter}"
                                         value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPointActual}">
                            <f:selectItem itemLabel="Seleccione" itemValue=""/>
                            <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                           var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                           itemValue="#{checkPoint}"
                                    />
                            <p:column>
                                #{checkPointItem.nombreArchivo}
                            </p:column>
                            <p:column>
                                <h:outputText value="#{checkPointItem.fechaCreacion}">
                                    <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                       timeZone="America/Lima"
                                                       type="both"/>
                                </h:outputText>
                            </p:column>
                            <p:column>
                                #{checkPointItem.comentario}
                            </p:column>

                        </p:selectOneMenu>
                    </p:column>
                    <p:column>
                        <p:message for="checkPointFin" display="text"/>
                    </p:column>
                </p:row>
                <p:row>
                    <p:column colspan="5">
                        <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                         actionListener="#{reporteCuentaCobrarJsfBean.procesar}"
                                         ajax="true" update=":frmReporte :messages"
                                />
                    </p:column>
                </p:row>
            </p:panelGrid>
            </p:panel>
            </p:outputPanel>
            <p:outputPanel id="pnlAdmin" rendered="#{reporteCuentaCobrarJsfBean.administrador}">
                <p:panel header="Criterios de Búsqueda" >
                    <p:panelGrid>
                        <p:row>
                            <p:column>
                                <p:outputLabel for="checkpointListAdmin" value="CheckPoint"/>
                            </p:column>
                            <p:column colspan="1">
                                <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                                 var="checkPointItem" id="checkpointListAdmin"
                                                 converter="#{checkPointDTOConverter}"
                                                 value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPoint}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                                   var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                                   itemValue="#{checkPoint}"
                                            />
                                    <p:column>
                                        #{checkPointItem.nombreArchivo}
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                               timeZone="America/Lima"
                                                               type="both"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column>
                                        #{checkPointItem.comentario}
                                    </p:column>

                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="checkpointListAdmin" display="text"/>
                            </p:column>
                            <p:column>
                                <p:outputLabel for="cmbAgrupacionAdmin" value="Seleccione las agrupaciones"
                                        />
                            </p:column>
                            <p:column>
                                <p:selectCheckboxMenu id="cmbAgrupacionAdmin" label="Agrupaciones" filter="true"
                                                      converter="#{managerAgrupacionDTOConverter}" required="true"
                                                      requiredMessage="*"
                                                      value="#{reporteCuentaCobrarJsfBean.reporteContext.agrupacionList}"
                                                      filterText="Filter" filterMatchMode="startsWith"
                                                      panelStyle="width:220px"
                                        >
                                    <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbAgrupacion}" var="agrupacionItem"
                                                   itemLabel="#{agrupacionItem.nombre}" itemValue="#{agrupacionItem}"/>

                                </p:selectCheckboxMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cmbAgrupacionAdmin" display="text"/>
                            </p:column>
                            <p:column>
                                <p:outputLabel for="cmbReporteAdmin" value="Reportes"/>
                            </p:column>
                            <p:column >
                                <p:selectCheckboxMenu id="cmbReporteAdmin" label="Reportes" filter="true"
                                                      value="#{reporteCuentaCobrarJsfBean.reporteContext.reporteCobrarList}"
                                                      converter="#{managerTipoReporteCxCConverter}"
                                                      filterText="Filter" filterMatchMode="startsWith"
                                                      style="width: 150px"
                                                      panelStyle="width:320px"
                                        >
                                    <f:selectItems value="#{reporteCuentaCobrarJsfBean.allTipoReporteCuentaPorCobrar}"
                                                   var="reporteItem"
                                                   itemLabel="#{reporteItem.nombre}" itemValue="#{reporteItem}"/>

                                </p:selectCheckboxMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cmbReporteAdmin" display="text"/>
                            </p:column>

                        </p:row>
                        <p:row>
                            <p:column colspan="2">

                            </p:column>
                            <p:column >

                            </p:column>
                            <p:column>
                                <p:outputLabel for="cmbTipoImporteAdmin" value="Importe"/>
                            </p:column>
                            <p:column colspan="1">
                                <p:selectOneMenu
                                        id="cmbTipoImporteAdmin"   required="true" requiredMessage="*"
                                        value="#{reporteCuentaCobrarJsfBean.reporteContext.tipoMonto}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItem itemLabel="Importe Moneda Local" itemValue="0"/>
                                    <f:selectItem itemLabel="Importe Valorado" itemValue="1"/>
                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="cmbTipoImporteAdmin" display="text"/>
                            </p:column>
                        </p:row>
                        <p:row>

                            <p:column colspan="2">

                            </p:column>
                            <p:column >

                            </p:column>
                            <p:column>
                                <h:outputText value="Reporte Comparativo: " />

                                <p:selectBooleanCheckbox label="Reporte Comparativo: " value="#{reporteCuentaCobrarJsfBean.reporteContext.comparativo}">
                                </p:selectBooleanCheckbox>

                            </p:column>
                            <p:column colspan="1">

                                <p:selectOneMenu id="checkPointInicioAdmin" panelStyle="width: 350px" style="width: 220px"
                                                 var="checkPointItem"
                                                 converter="#{checkPointDTOConverter}"
                                                 value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPointBase}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                                   var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                                   itemValue="#{checkPoint}"
                                            />
                                    <p:column>
                                        #{checkPointItem.nombreArchivo}
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                               timeZone="America/Lima"
                                                               type="both"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column>
                                        #{checkPointItem.comentario}
                                    </p:column>

                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="checkPointInicioAdmin" display="text"/>
                            </p:column>
                            <p:column colspan="2">
                                <p:selectOneMenu panelStyle="width: 350px" style="width: 220px"
                                                 var="checkPointItem"  id="checkPointFinAdmin"
                                                 converter="#{checkPointDTOConverter}"
                                                 value="#{reporteCuentaCobrarJsfBean.reporteContext.checkPointActual}">
                                    <f:selectItem itemLabel="Seleccione" itemValue=""/>
                                    <f:selectItems value="#{reporteCuentaCobrarJsfBean.cmbCheckPoint}"
                                                   var="checkPoint" itemLabel="#{checkPoint.nombreArchivo}"
                                                   itemValue="#{checkPoint}"
                                            />
                                    <p:column>
                                        #{checkPointItem.nombreArchivo}
                                    </p:column>
                                    <p:column>
                                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                                               timeZone="America/Lima"
                                                               type="both"/>
                                        </h:outputText>
                                    </p:column>
                                    <p:column>
                                        #{checkPointItem.comentario}
                                    </p:column>

                                </p:selectOneMenu>
                            </p:column>
                            <p:column>
                                <p:message for="checkPointFinAdmin" display="text"/>
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column colspan="2">
                                <p:treeTable style="font-size: 10px"
                                             value="#{reporteCuentaCobrarJsfBean.root}" var="grupoEmpresarial" id="multiSelect"
                                             selection="#{reporteCuentaCobrarJsfBean.selectedNodes}" selectionMode="checkbox">

                                    <f:facet name="header">
                                        Grupo Empresarial
                                    </f:facet>

                                    <p:column style="width:150px">
                                        <f:facet name="header">
                                            Nombre
                                        </f:facet>
                                        <h:outputText value="#{grupoEmpresarial.nombre}" />
                                    </p:column>
                                </p:treeTable>
                            </p:column>
                            <p:column></p:column>
                            <p:column colspan="6" style="vertical-align: top; " >
                                <p:commandButton value="#{messages.label_process}" icon="ui-icon-refresh"
                                                 actionListener="#{reporteCuentaCobrarJsfBean.procesar}"
                                                 ajax="true" update=":frmReporte :messages"
                                        />
                            </p:column>
                        </p:row>
                    </p:panelGrid>
                </p:panel>
            </p:outputPanel>
            </h:form>
        </h:panelGroup>
    </ui:define>
    <ui:define name="modal">
        <ui:decorate template="/pages/ui/uiModal.xhtml">
            <ui:param name="tipo" value="cxc"/>
            <ui:param name="jsfBean" value="#{reporteCuentaCobrarJsfBean}"/>
            <ui:param name="verFechaCorte" value="true"/>
        </ui:decorate>
    </ui:define>
</ui:composition>
</html>